Navigation

Use intention-revealing names

Avoid Disinformation

Make Meaningful Distinctions

Use Pronounceable Names

Use Searchable Names

Avoid Encodings

Avoid Mental Mapping

Class Names

Method Names

Prefixes

Setter : set

Getter : get

Guard : is

Overridden, static constructor : from

Don’t Be Cute

Pick One Word Per Concept

Don’t Pun

Solution Domain Names (preferred)

Problem Domain Names (if no solution name exists)

Add Meaningful Context

If variables are ambiguous…

Don’t add Gratuitous Context